home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 44
/
Amiga Format CD44 (1999-08-26)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-10].iso
/
-in_the_mag-
/
basics
/
blitz
/
methodbblib.lha
/
MethodBBLib
/
Examples
/
MUIExample.asc
< prev
Wrap
Text File
|
1997-07-27
|
4KB
|
127 lines
;Based on a C source from Amiga News 81 by Eric Totel
;Adapted in Blitz Basic 2 by Erwan Fouret
;Please use XINCLUDE "mui.bb2" instead defines below
;***** libraries/mui.h (c)Stefan Stuntz *****
#MUIO_Button=2
#MUIA_String_MaxLen=$80424984
#MUIA_String_Contents=$80428FFD
#MUIA_Frame=$8042AC64
#MUIV_Frame_String=4
#MUIA_Group_Child=$804226E6
#MUIA_Group_Horiz=$8042536B
#Child=#MUIA_Group_Child
#MUIA_Window_Title=$8042AD3D
#MUIA_Window_RootObject=$8042CBA5
#MUIA_Window_Open=$80428AA0
#MUIA_Window_CloseRequest=$8042E86E
#WindowContents=#MUIA_Window_RootObject
#MUIA_Application_Title=$804281B8
#MUIA_Application_Author=$80424842
#MUIA_Application_Base=$8042E07A
#MUIA_Application_Copyright=$8042EF4D
#MUIA_Application_Description=$80421FC6
#MUIA_Application_Version=$8042B33F
#MUIA_Application_Window=$8042BFE0
#SubWindow=#MUIA_Application_Window
#MUIV_Application_ReturnID_Quit=-1
#MUIM_Notify=$8042C9CB
#MUIA_Pressed=$80423535
#MUIM_Set=$8042549A
#MUIA_ShowMe=$80429BA8
#MUIM_Application_ReturnID=$804276EF
#MUIM_Application_Input=$8042D0F5
;***** BEGIN *****
WBStartup
NoCli:CloseEd
NEWTYPE.tags a.l:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:End NEWTYPE
DEFTYPE.tags atags,wtags,vtags,stags,htags,setags,dm1tags,dm2tags,dm3tags
DEFTYPE.l
Dim t$(10),*tp.b(10)
t$(0)="Test" ;Application Title
t$(1)="Erwan Fouret" ;Application Author
t$(2)="TEST" ;Application Base
t$(3)="Erwan Fouret" ;Application Copyright
t$(4)="An example of MUI application" ;Application Description
t$(5)="$VER: TestMUIV1.0 (02.02.97)" ;Application Version
t$(6)="Test" ;Window Title
t$(7)="Text" ;String Text
t$(8)="_Hide" ;Button Text
t$(9)="_Quit" ;Button Text
For i=0 To 9 ;We make pointers
t$(i)=t$(i)+Chr$(0) ;of strings
*tp(i)=&t$(i) ;for use in tags
Next i
*BT_Quit.b=MUI_MakeObjectA_(#MUIO_Button,&*tp(9)) ;We make two simple
*BT_Hide.b=MUI_MakeObjectA_(#MUIO_Button,&*tp(8)) ;buttons
stags\a=#MUIA_Frame,#MUIV_Frame_String ;Tags definition
stags\c=#MUIA_String_MaxLen,80 ;for the creation
stags\e=#MUIA_String_Contents,*tp(7),0 ;of a string gadget
*STR_String.b=MUI_NewObjectA_("String.mui",stags) ;We make it
htags\a=#MUIA_Group_Horiz,1 ;Tags for an horizontal group
htags\c=#Child,*BT_Hide,#Child,*BT_Quit,0
vtags\a=#Child,*STR_String,#Child,MUI_NewObjectA_("Group.mui",htags),0
;Tags for a vertical group
wtags\a=#MUIA_Window_Title,*tp(6) ;Tags for
wtags\c=#WindowContents,MUI_NewObjectA_("Group.mui",vtags),0 ;a simple win
*MyWindow.b=MUI_NewObjectA_("Window.mui",wtags) ;We create the window
atags\a=#MUIA_Application_Title,*tp(0) ;Tags
atags\c=#MUIA_Application_Author,*tp(1) ;for
atags\e=#MUIA_Application_Base,*tp(2) ;the
atags\g=#MUIA_Application_Copyright,*tp(3) ;MUI
atags\i=#MUIA_Application_Description,*tp(4) ;appliaction
atags\k=#MUIA_Application_Version,*tp(5)
atags\m=#SubWindow,*MyWindow,0
*App.b=MUI_NewObjectA_("Application.mui",atags) ;The application is created !
DoMethod *BT_Hide,#MUIM_Notify,#MUIA_Pressed,0,*STR_String,3,#MUIM_Set,#MUIA_ShowMe,0
DoMethod *BT_Quit,#MUIM_Notify,#MUIA_Pressed,0,*App,2,#MUIM_Application_ReturnID,#MUIV_Application_ReturnID_Quit
;These methods specify the action to execute when a button is pressed
DoMethod *MyWindow,#MUIM_Notify,#MUIA_Window_CloseRequest,1,*App,2,#MUIM_Application_ReturnID,#MUIV_Application_ReturnID_Quit
;Quit if the window is closed
setags\a=#MUIA_Window_Open,1,0
SetAttrsA_ *MyWindow,setags ;We open the Window
running=1
signal.l=0
While(running) ;Main loop
Select DoMethod(*App,#MUIM_Application_Input,&signal) ;Is there a signal ???
Case #MUIV_Application_ReturnID_Quit ;Quit ?
running=0
End Select
If (running & signal) Wait_(signal) ;Wait for next signal
Wend
MUI_DisposeObject_ *App ;Free the application
End